home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / vbcc / machines / amiga68k / libsrc / stdio / ungetc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-20  |  477 b   |  16 lines

  1. #include <stdio.h>
  2.  
  3. int ungetc(int c,FILE *f)
  4. {
  5.     if(!f) return(EOF);
  6.     if(!f->base) return(EOF);   /*  evtl. muesste man hier malloc() */
  7.     if((f->flags&(_READABLE|_WRITE|_ERR|_EOF))!=_READABLE) return(EOF);
  8.     if(f->pointer<f->base){
  9.     /*  Buffer voll und bereits ein Zeichen reingestopft, also wird es  */
  10.     /*  ueberschrieben                                                  */
  11.         return(*f->pointer=c);
  12.     }
  13.     f->count++;
  14.     return(*--f->pointer=c);
  15. }
  16.